package net.geektao.lab.spring.springutil;

/**
 * 工具类
 * 
 * @author geektao
 *
 */
public class MyUtil {

	/** 指向本类的实例 */
	private static MyUtil instance = null;

	/** 此配置依赖Spring注入 */
	private String config;

	private static MyUtil getInstance() {
		assertInstanceInitialized();
		return instance;
	}

	private static void assertInstanceInitialized() {
		if (instance == null) {
			throw new IllegalStateException("工具类未初始化完成,稍后重试!");
		}
	}

	/**
	 * 初始化方法。
	 */
	public void init() {
		instance = this;
	}

	public void setConfig(String config) {
		this.config = config;
	}

	/**
	 * 获取config的值。<br>
	 * 如果instance未初始化，则报错。
	 */
	public static String getConfig() {
		return getInstance().config;
	}
}
